/**   
 * Copyright © 2021 eSunny Info. Tech Ltd. All rights reserved.
 * 
 * 功能描述：
 * @Package: com.yl.staff.controller 
 * @author: Bai   
 * @date: 2021年1月29日 下午4:04:37 
 */
package com.yl.staff.controller;

import java.util.List;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.yl.staff.dao.MapAccountingContentSalary;
import com.yl.staff.model.BeanAccountingContentSalary;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/**   
* Copyright: Copyright (c) 2021 云邻信息科技
* 
* @ClassName: AccountingContentSalaryController.java
* @Description: 绩效工资核算内容相关
*
* @version: v1.0.0
* @author: Bai
* @date: 2021年1月29日 下午4:04:37 
*
* Modification History:<br>
* Date         Author          Version            Description
*---------------------------------------------------------*<br>
* 2021年1月29日     Bai             v1.0.0             新建 <br>
*/
/*
 * 功能列表：
* 	Date         Author          Method            				 Description
*	---------------------------------------------------------------------*<br>
*	2020年01月29日     Bai            findAll()        				 					获取绩效工资核算内容集合
* 	2020年01月29日     Bai            findById(int id) 									根据数据编号获取绩效工资核算内容
* 	2020年01月29日     Bai            findByStaffCode(String staffCode)					根据员工编号查找绩效工资核算内容
*   2020年01月29日     Bai            findByEffectiveDate(String effectiveDate)    		根据生效日期查找绩效工资核算内容
*	2020年01月29日     Bai            findByPerformanceContent(String performanceContent)	根据绩效内容查找绩效工资核算内容
*   2020年01月29日     Bai            intsertInTo(BeanAccountingContentSalary bacs)      添加绩效工资核算内容
*   2020年01月29日     Bai            updateById(BeanAccountingContentSalary bacs)       根据数据编号更新绩效工资核算内容
 * */
@RestController
@MapperScan("com.yl.staff.dao")
@Api(value = "基础数据接口", tags = "绩效工资核算内容相关")
public class AccountingContentSalaryController {
	
	/*
	 * accounting-content-salary 数据接口对象
	 * */
	@Autowired
	private MapAccountingContentSalary mapAccountingContentSalary;
	/**
	 * 
	* @Function: AccountingContentSalaryController.java
	* @Description: 获取绩效工资核算内容集合
	*
	* @param:无
	* @return：List<BeanAccountingContentSalary> 工资核算内容集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月29日 下午4:34:20 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月29日     Bai              v1.0.0                                新建 <br>
	 */
	@RequestMapping(value="/accountingContentSalarys",method = RequestMethod.GET)
	@ApiOperation(value = "获取绩效工资核算内容集合")
	public List<BeanAccountingContentSalary> findAll(){
		return mapAccountingContentSalary.selectAll();
	};
	/**
	 * 
	* @Function: AccountingContentSalaryController.java
	* @Description: 据数据编号获取绩效工资核算内容
	*
	* @param: int 数据编号
	* @return：BeanAccountingContentSalary 工资核算内容实体
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月29日 下午4:35:09 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月29日     Bai            v1.0.0               	新建 <br>
	 */
	@RequestMapping(value="/accountingContentSalaryById",method = RequestMethod.POST)
	@ApiOperation(value = "根据数据编号获取绩效工资核算内容")
	public BeanAccountingContentSalary findById(@ApiParam(name = "id",value="数据编号",required = true) @RequestParam(name="id") int id) {
		return mapAccountingContentSalary.selectById(id);
	};
	/**
	 * 
	* @Function: AccountingContentSalaryController.java
	* @Description: 根据员工编号查找绩效工资核算内容
	*
	* @param:String 员工编号
	* @return：List<BeanAccountingContentSalary> 工资核算内容集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月29日 下午4:35:55 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月29日     Bai             v1.0.0               	新建 <br>
	 */
	@RequestMapping(value="/accountingContentSalaryByStaffCode",method = RequestMethod.POST)
	@ApiOperation(value = "根据员工编号查找绩效工资核算内容")
	public List<BeanAccountingContentSalary> findByStaffCode(@ApiParam(name = "staffCode",value="员工编号",required = true) @RequestParam(name="staffCode") String staffCode){
		return mapAccountingContentSalary.selectByStaffCode(staffCode);
	};
	/**
	 * 
	* @Function: AccountingContentSalaryController.java
	* @Description: 根据生效日期查找绩效工资核算内容
	*
	* @param:String 生效日期
	* @return：List<BeanAccountingContentSalary> 工资核算内容集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月29日 下午4:38:52 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月29日     Bai             v1.0.0               	新建<br>
	 */
	@RequestMapping(value="/accountingContentSalaryByEffectiveDate",method = RequestMethod.POST)
	@ApiOperation(value = "根据生效日期查找绩效工资核算内容")
	public List<BeanAccountingContentSalary> findByEffectiveDate(@ApiParam(name = "effectiveDate",value="生效日期",required = true) @RequestParam(name="effectiveDate") String effectiveDate){
		return mapAccountingContentSalary.selectByEffectiveDate(effectiveDate);
	};
	/**
	 * 
	* @Function: AccountingContentSalaryController.java
	* @Description: 根据绩效内容查找绩效工资核算内容
	*
	* @param:String 绩效内容
	* @return：List<BeanAccountingContentSalary> 工资核算内容集合 OR [] 空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月29日 下午4:39:36 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月29日     Bai             v1.0.0             	新建 <br>
	 */
	@RequestMapping(value="/accountingContentSalaryByPerformanceContent",method = RequestMethod.POST)
	@ApiOperation(value = "根据绩效内容查找绩效工资核算内容")
	public List<BeanAccountingContentSalary> findByPerformanceContent(@ApiParam(name = "performanceContent",value="核算内容",required = true) @RequestParam(name="performanceContent") String performanceContent){
		return mapAccountingContentSalary.selectByPerformanceContent(performanceContent);
	};
	/**
	 * 
	* @Function: AccountingContentSalaryController.java
	* @Description: 添加绩效工资核算内容
	*
	* @param: BeanAccountingContentSalary 绩效工资核算内容实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月29日 下午4:41:37 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月29日     Bai             v1.0.0               	新建<br>
	 */
	@RequestMapping(value="/addAccountingContentSalary",method = RequestMethod.POST)
	@ApiOperation(value = "添加绩效工资核算内容")
	@ApiImplicitParams({
		@ApiImplicitParam(paramType="query",name="id",dataType="int",required=false,value="该数据禁止填写"),
		@ApiImplicitParam(paramType="query",name="staffCode",dataType="String",required=true,value="员工编号"),
		@ApiImplicitParam(paramType="query",name="effectiveDate",dataType="String",required=true,value="生效日期"),
		@ApiImplicitParam(paramType="query",name="performanceContent",dataType="String",required=true,value="考核内容（科目）"),
		@ApiImplicitParam(paramType="query",name="contentQuota",dataType="BigDecimal",required=true,value="内容配额"),
	})
	public boolean intsertInTo(BeanAccountingContentSalary bacs) {
		return mapAccountingContentSalary.intsertInTo(bacs);
	};
	/**
	 * 
	* @Function: AccountingContentSalaryController.java
	* @Description: 根据数据编号更新绩效工资核算内容
	*
	* @param:BeanAccountingContentSalary 绩效工资核算内容实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月29日 下午4:42:46 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月29日     Bai             v1.0.0                                   新建 <br>
	 */
	@RequestMapping(value="/upAccountingContentSalary",method = RequestMethod.POST)
	@ApiOperation(value = "根据数据编号更新绩效工资核算内容")
	@ApiImplicitParams({
		@ApiImplicitParam(paramType="query",name="id",dataType="int",required=true,value="数据编号"),
		@ApiImplicitParam(paramType="query",name="staffCode",dataType="String",required=false,value="该数据无需填写"),
		@ApiImplicitParam(paramType="query",name="effectiveDate",dataType="String",required=true,value="生效日期"),
		@ApiImplicitParam(paramType="query",name="performanceContent",dataType="String",required=true,value="考核内容（科目）"),
		@ApiImplicitParam(paramType="query",name="contentQuota",dataType="BigDecimal",required=true,value="内容配额"),
	})
	public boolean updateById(BeanAccountingContentSalary bacs) {
		return mapAccountingContentSalary.updateById(bacs);
	}
	/**
	 * 
	* @Function: AccountingContentSalaryController.java
	* @Description: 根据数据编号删除绩效工资核算内容
	*
	* @param: int 数据编号
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月30日 上午10:22:17 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月30日     Bai             v1.0.0                                    新建<br>
	 */
	@RequestMapping(value="/deleteAccountingContentSalary",method = RequestMethod.POST)
	@ApiOperation(value = "根据数据编号删除绩效工资核算内容")
	public boolean removeById(@ApiParam(name = "id",value="数据编号",required = true) @RequestParam(name="id")  int id) {
		return mapAccountingContentSalary.deleteById(id);
	}
}
